【VBA】FileSystemObjectでファイルパスをパーツごとに分割する方法 |
您所在的位置:网站首页 › vba FileSystemObject 方法 › 【VBA】FileSystemObjectでファイルパスをパーツごとに分割する方法 |
TOPページ ▶ プログラミング ▶ VBA ▶ ファイル操作 【VBA】FileSystemObjectでファイルパスをパーツごとに分割する方法更新日:2024/01/18 VBAでファイルのパスからファイル名や親パスを取得する場合、FileSystemObjectオブジェクトを使用すると簡単に取得できます。 このページの目次1ファイルパスを分割するメソッド2ドライブ名取得:GetDriveName3親フォルダ取得:GetParentFolderName4ファイル/フォルダ名取得:GetFileName5拡張子取得:GetExtensionName6ファイル/フォルダ名(拡張子無し)取得:GetBaseNameファイルパスを分割するメソッド FileSystemObjectオブジェクトはファイルパスを分割するメソッドとして、次の5つが用意されています。 メソッド名内容GetDriveNameドライブ名取得GetParentFolderName親フォルダ取得GetFileNameファイル名取得GetExtensionName拡張子取得GetBaseNameベース名(拡張子を除いたファイル名)取得これらのメソッドは、実際にファイルやフォルダが存在するかどうかを考慮しません。 単純に文字列処理を行うだけです。 それぞれの構文と、使用例を紹介します。 ドライブ名取得:GetDriveName ファイルパスからドライブ名を取得するときは、GetDriveNameメソッドを使用します。 FileSystemObjectオブジェクト.GetDriveName( Path ) Path:ドライブ名を取得したいファイルパスドライブ文字パスにドライブ文字が含まれていない場合、空文字が返ります。 次のコードは、GetDriveNameの使用例です。 Function GetDriveName(filePath) As String GetDriveName = CreateObject("Scripting.FileSystemObject") _ .GetDriveName(filePath) End Function ' テスト用 Sub GetDriveNameTest() Debug.Print "【ドライブ名】" & GetDriveName("C:\Users\xxx\Documents\image.png") Debug.Print "【ドライブ名】" & GetDriveName("\Users\xxx\Documents\image.png") End SubGetDriveNameTestを実行すると、イミディエイトウィンドウに次のような結果が表示されます。 【ドライブ名】C: 【ドライブ名】親フォルダ取得:GetParentFolderName ファイルパスから親フォルダのパスを取得するときは、GetParentFolderNameメソッドを使用します。 FileSystemObjectオブジェクト.GetParentFolderName( Path ) Path:ドライブ名を取得したいファイルパス親フォルダのパスパスにドライブ文字が含まれている場合、ドライブ文字を含んだ文字列を返します。 親フォルダが存在しない場合、ドライブ文字があるなしに関係なく、空文字を返します。 次のコードは、GetDriveNameの使用例です。 Function GetParentFolderName(filePath) As String GetParentFolderName = CreateObject("Scripting.FileSystemObject") _ .GetParentFolderName(filePath) End Function ' テスト用 Sub GetParentFolderNameTest() Debug.Print "【親フォルダ名】" & GetParentFolderName("C:\Users\xxx\Documents\image.png") Debug.Print "【親フォルダ名】" & GetParentFolderName("\Users\xxx\Documents\image.png") Debug.Print "【親フォルダ名】" & GetParentFolderName("C:\") End SubGetParentFolderNameTestを実行すると、イミディエイトウィンドウに次のような結果が表示されます。 【親フォルダ名】C:\Users\xxx\Documents 【親フォルダ名】\Users\xxx\Documents 【親フォルダ名】ファイル/フォルダ名取得:GetFileName ファイルパスからファイル名およびフォルダ名を取得するときはGetFileNameメソッドを使用します。 次のコードは、取得例です。 Function GetFileName(filePath) As String GetFileName = CreateObject("Scripting.FileSystemObject") _ .GetFileName(filePath) End Function ' テスト用 Sub GetFileNameTest() Debug.Print "【ファイル名】" & GetFileName("C:\Users\xxx\Documents\image.png") Debug.Print "【ファイル名】" & GetFileName("C:\Users\xxx\Documents\folder") Debug.Print "【ファイル名】" & GetFileName("image.png") Debug.Print "【ファイル名】" & GetFileName("c:\") End SubGetFileNameTestを実行すると、イミディエイトウィンドウに次のような結果が表示されます。 【ファイル名】image.png 【ファイル名】folder 【ファイル名】image.png 【ファイル名】拡張子取得:GetExtensionName ファイルパスから拡張子を取得するときは、GetExtensionName メソッドを使用します。 FileSystemObjectオブジェクト.GetExtensionName( Path ) Path:拡張子を取得したいファイルパス拡張子パスに拡張子が含まれていない場合、空文字を返します。 次のコードは、GetExtensionNameの使用例です。 Function GetExtensionName(filePath) As String GetExtensionName = CreateObject("Scripting.FileSystemObject") _ .GetExtensionName(filePath) End Function ' テスト用 Sub GetExtensionNameTest() Debug.Print "【拡張子】" & GetExtensionName("C:\Users\xxx\Documents\image.png") Debug.Print "【拡張子】" & GetExtensionName("C:\Users\xxx\Documents\folder") Debug.Print "【拡張子】" & GetExtensionName("image.png") End SubGetExtensionNameTestを実行すると、イミディエイトウィンドウに次のような結果が表示されます。 【拡張子】png 【拡張子】 【拡張子】pngファイル/フォルダ名(拡張子無し)取得:GetBaseName ファイルパスから拡張子を含まないファイル名およびフォルダ名(ベース名)を取得するときは、GetBaseNameメソッドを使用します。 FileSystemObjectオブジェクト.GetBaseName( Path ) Path:ファイル名またはフォルダ名を取得したいファイルパス拡張子を除いたファイル名またはフォルダ名パスが区切り文字(\)で終わる場合、最後の区切り文字は無視されます。 次のコードは、GetBaseNameの使用例です。 Function GetBaseName(filePath) As String GetBaseName = CreateObject("Scripting.FileSystemObject") _ .GetBaseName(filePath) End Function ' テスト用 Sub GetBaseNameTest() Debug.Print "【ベース名】" & GetBaseName("C:\Users\xxx\Documents\image.png") Debug.Print "【ベース名】" & GetBaseName("C:\Users\xxx\Documents\folder") Debug.Print "【ベース名】" & GetBaseName("image.png") Debug.Print "【ベース名】" & GetBaseName("c:\") End SubGetBaseNameTestを実行すると、イミディエイトウィンドウに次のような結果が表示されます。 【ベース名】image 【ベース名】folder 【ベース名】image 【ベース名】更新日:2024/01/18 書いた人(管理人):けーちゃん TOPページ ▶ プログラミング ▶ VBA ▶ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |